package top.lishuoboy.javase.jvm.class_load;

/** 见README.md */
public class Father {
    /** 静态类变量 */
    private static int i = classMethod();

    /** 实例变量 */
    private int j = instanceMethod();

    /** 静态代码块 */
    static {
        System.out.println("②-父-静态代码块");
    }

    /** 实例代码块 */ {
        System.out.println("④-父-实例代码块");
    }

    /** 构造器 */
    public Father() {
//        super(); // 写不写都在
        System.out.println("⑤-父-构造器");
    }

    protected static int classMethod() {
        System.out.println("①-父-静态变量");
        return 1;
    }

    /** 被子类重写了 */
    protected int instanceMethod() {
        System.out.println("③-父-成员变量");
        return 1;
    }
}